﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using KPIS.GERP.GHRMS.IBLL;
using System.Data;
using KPIS.GERP.GHRMS.DALFactory;
using KPIS.GERP.GHRMS.IDAL;

namespace KPIS.GERP.GHRMS.BLL
{
    public class HRDEvaluationBLL : IHRDEvaluationBLL
    {
        private static readonly IHRDEvaluationDAL DAL = DataAccess.Evaluation();

        public DataTable getPosSeq(int intEmpSequence)
        {
            return DAL.getPosSeq(intEmpSequence);
        }

        public DataTable LoadGoalObjective(int intEmpSequence)
        {
            return DAL.LoadGoalObjective(intEmpSequence);
        }

        public DataTable LoadGridDevelopmentNeed(int intEmpSequence)
        {
            return DAL.LoadGridDevelopmentNeed(intEmpSequence);
        }

        public DataTable LoadGridKPA(int intPosSequence)
        {
            return DAL.LoadGridKPA(intPosSequence);
        }

        public DataTable LoadScoreFormat(int intEvaluationListSeq)
        {
            return DAL.LoadScoreFormat(intEvaluationListSeq);
        }

        public DataTable LoadGridStrategyProject(int intRoundYear, DateTime dateRoundStartDate, DateTime dateRoundEndDate, int intEmpSequence)
        {
            return DAL.LoadGridStrategyProject(intRoundYear, dateRoundStartDate, dateRoundEndDate, intEmpSequence);
        }

        public DataTable LoadGridCoreCompetency(int intPosSequence)
        {
            return DAL.LoadGridCoreCompetency(intPosSequence);
        }

        public DataTable LoadGridIDP(int intPosSequence)
        {
            return DAL.LoadGridIDP(intPosSequence);
        }

        public DataTable LoadEvaluationList()
        {
            return DAL.LoadEvaluationList();
        }

        public DataTable LoadRound(string strRoundYear)
        {
            return DAL.LoadRound(strRoundYear);
        }

        public DataTable DeleteRound(int intRoundSeq, int intUpdatedBy)
        {
            return DAL.DeleteRound(intRoundSeq, intUpdatedBy);
        }

        public DataTable Round(int intEvalRoundSeq)
        {
            return DAL.Round(intEvalRoundSeq);
        }

        public DataTable CheckRoundPermission(int intEvaluationRoundSeq)
        {
            return DAL.CheckRoundPermission(intEvaluationRoundSeq);
        }

        public DataTable CheckEvaluation(int intEmpSequence, int intEvaluationRoundSeq)
        {
            return DAL.CheckEvaluation(intEmpSequence, intEvaluationRoundSeq);
        }

        public DataTable CheckOtherScore(int intEmpSequence, int intEvaluationRoundSeq)
        {
            return DAL.CheckOtherScore(intEmpSequence, intEvaluationRoundSeq);
        }

        public DataTable LoadData(int intEmpSeq)
        {
            return DAL.LoadData(intEmpSeq);
        }

        public DataTable LoadResultIDP(int intEmpSeq, int intRoundSeq)
        {
            return DAL.LoadResultIDP(intEmpSeq, intRoundSeq);
        }

        public DataTable LoadDevelopmentMethod()
        {
            return DAL.LoadDevelopmentMethod();
        }

        public DataTable GetSubData(int head, int intEmpSeq, int intRoundSeq)
        {
            return DAL.GetSubData(head, intEmpSeq, intRoundSeq);
        }

        public DataTable GetData()
        {
            return DAL.GetData();
        }

        public DataTable GetExpectResult(int intEmpSeq)
        {
            return DAL.GetExpectResult(intEmpSeq);
        }

        public DataTable GetHeaderSchema()
        {
            return DAL.GetHeaderSchema();
        }

        public DataTable GetDetailSchema()
        {
            return DAL.GetDetailSchema();
        }

        public string SaveEvaluationScore(DataSet dsKPA, DataSet dsStrategy, DataSet dsCC, DataSet dsIDP)
        {
            return DAL.SaveEvaluationScore(dsKPA, dsStrategy, dsCC, dsIDP);
        }

        public void UpdateApproved(int intEmpSeq, int intEvaluationRoundSeq, int intCreateBy, bool boolApproved)
        {
            DAL.UpdateApproved(intEmpSeq, intEvaluationRoundSeq, intCreateBy, boolApproved);
        }

        public void UpdateRound(int intNo, int intYear, DateTime datRoundStart, DateTime datRoundEnd, DateTime datPermissStart, DateTime datPermissEnd
                                , string strRemark, int intUpdateBy, int intEvaluationRoundSeq)
        {
            DAL.UpdateRound(intNo, intYear, datRoundStart, datRoundEnd, datPermissStart, datPermissEnd, strRemark, intUpdateBy, intEvaluationRoundSeq);
        }

        public void CreateRound(int intNo, int intYear, DateTime datRoundStart, DateTime datRoundEnd, DateTime datPermissStart, DateTime datPermissEnd
                                , string strRemark, int intCreateBy)
        {
            DAL.CreateRound(intNo, intYear, datRoundStart, datRoundEnd, datPermissStart, datPermissEnd, strRemark, intCreateBy);
        }






        
        public DataTable GetHeaderSchema(int intEmpSeq, int intEvaluationRoundSeq)
        {
            return DAL.GetHeaderSchema(intEmpSeq, intEvaluationRoundSeq);
        }

        public DataTable GetSchemaOtherScore(int intEmpSeq, int intEvaluationRoundSeq)
        {
            return DAL.GetSchemaOtherScore(intEmpSeq, intEvaluationRoundSeq);
        }
        
        public string SaveEvaluationOtherScore(DataSet dsKPA, DataSet dsStrategy, DataSet dsCC, DataSet dsIDP, int intEmpSeq, int intEvaluationRoundSeq)
        { 
            return DAL.SaveEvaluationOtherScore(dsKPA, dsStrategy, dsCC, dsIDP, intEmpSeq, intEvaluationRoundSeq);
        }

         
    }

}
